/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package repositorio;

import infra.InterfaceDao;
import java.io.*;
import java.util.List;
import modelo.Locacao;

/**
 *
 * @author Edemilson Danker
 * @author Jefferson Sidney Rossetim
 * @author Rogerio Mello Vanti
 */
public class LocacaoDao implements InterfaceDao{
    
    private File arquivo;
    
    public LocacaoDao() throws IOException{
        this.arquivo = new File("Locacao.dat");
    }//fim construtor vazio
    
    public LocacaoDao(File arquivo){
        this.arquivo = arquivo;
    }//fim construtor
    
    /*public boolean arquivoExiste(){
        return this.arquivo.exists();
    }
    
    public void escreverLocacao(List<Locacao> locacoes) throws FileNotFoundException, IOException{
        System.out.println("Escrevendo arquivo de locações");
        FileOutputStream fluxo = new FileOutputStream(this.arquivo);
        ObjectOutputStream os = new ObjectOutputStream(fluxo);
        os.writeObject(locacoes);
        os.close();
        fluxo.close();
    }
    
    public List<Locacao> lerLocacao() throws FileNotFoundException, IOException, ClassNotFoundException{
        System.out.println("Lendo arquivo de locações");
        List<Locacao> listaLocacoes = null;
        FileInputStream fluxo = new FileInputStream(this.arquivo);
        ObjectInputStream oi = new ObjectInputStream(fluxo);
        listaLocacoes = (List<Locacao>)oi.readObject();
        oi.close();
        fluxo.close();
        return listaLocacoes;
    }*/

    @Override
    public boolean verificarArquivo() {
        return this.arquivo.exists();
    }

    @Override
    public void escrever(List lista) throws FileNotFoundException, IOException {
        System.out.println("Escrevendo arquivo de locações");
        FileOutputStream fluxo = new FileOutputStream(this.arquivo);
        ObjectOutputStream os = new ObjectOutputStream(fluxo);
        os.writeObject(lista);
        os.close();
        fluxo.close();
    }

    @Override
    public List ler() throws FileNotFoundException, IOException, ClassNotFoundException {
        System.out.println("Lendo arquivo de locações");
        List<Locacao> listaLocacoes = null;
        FileInputStream fluxo = new FileInputStream(this.arquivo);
        ObjectInputStream oi = new ObjectInputStream(fluxo);
        listaLocacoes = (List<Locacao>)oi.readObject();
        oi.close();
        fluxo.close();
        return listaLocacoes;
    }
}
